package com.zhuiyun.educations.api.newCourse.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName CourseInfo
 * @Description TODO 课程信息表
 * @Author 杨友朋
 * @Date 2023/6/28 15:03
 **/
@Data
@Table(name = "course_info")
public class CourseInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id 杨友朋
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 课程标题
     */
    private String courseTitle;

    /**
     * 课程介绍
     */
    private String introduction;

    /**
     * 课程id
     */
    private Integer courseId;

    /**
     * 图片id
     */
    private Integer imageId;

    /**
     * 教师id
     */
    private Integer teacherId;

    /**
     * 课程类型（0视频 1文章 2直播）
     */
    private String courseType;

    /**
     * 付费类型（0免费 1付费）
     */
    private String payType;

    /**
     * 课程状态（0上架 1下架 2待上架）
     */
    private String courseStatus;

    /**
     * 前端课程模块类型（0精选课程 1免费课程 2微专业）
     */
    private String type;

    /**
     * 开课时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern ="yyyy-MM-dd" )
    private Date beginTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern ="yyyy-MM-dd" )
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern ="yyyy-MM-dd" )
    private Date updateTime;

    /**
     * 删除标识（0显示，1删除）
     */
    private Integer delFlag;
    /**
     * 课时标题
     */
    @Transient
    private String jointTitle;

    /**
     * 课时介绍
     */
    @Transient
    private String jointIntroduction;

    /**
     * 章节id
     */
    @Transient
    private Integer unitId;

    /**
     * 资料id
     */
    @Transient
    private Integer fileId;

    /**
     * 视频id
     */
    @Transient
    private Integer videoId;
}
